package org.example.xsda.vo;

import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
public class ApprovalVO {
    
    private Long id;
    
    private Long studentId;
    
    private String studentName;
    
    private String studentNo;
    
    private Integer applyType;
    
    /** 异动子类型 */
    private String subType;
    
    /** 异动类型名称 */
    private String subTypeName;
    
    private String content;
    
    private Integer status;
    
    private String remark;
    
    private LocalDateTime applyTime;
    
    private LocalDateTime approveTime;
    
    private String approverName;
    
    // ========== 学籍异动相关字段 ==========
    
    /** 旧值 */
    private String oldValue;
    
    /** 新值 */
    private String newValue;
    
    /** 附件URL */
    private String attachmentUrl;
    
    /** 附件ID列表 */
    private String attachmentIds;
    
    /** 目标班级ID */
    private Long targetClassId;
    
    /** 目标院系ID */
    private Long targetDeptId;
    
    /** 开始日期（休学）*/
    private LocalDate startDate;
    
    /** 结束日期（休学）*/
    private LocalDate endDate;
    
    /** 审批层级：1-班主任初审 2-教务处终审 */
    private Integer approvalLevel;
    
    /** 审批层级名称 */
    private String approvalLevelName;
    
    /** 当前审批人ID */
    private Long currentApproverId;
    
    /** 历史审批意见（JSON格式）*/
    private String historyOpinion;
    
    /** 优先级：0-普通 1-重要 2-紧急 */
    private Integer priority;
    
    /** 附件数量 */
    private Integer attachmentCount;
}

